# coding:utf8



# 1. 什么是斐波那契数列、素数、质数和猴子吃桃问题（面试常问）？

# 斐波那契数列:从第三项开始，后一项等于前两项之和；
# 解决方案有循环、递归

# 素数：除1以外，只能被1和他本身整除的数；
# 解决方案有循环，检查不高于此数平方根+1的奇数不能被除1和自身的其他数整除，且不会被5整除即可

# 猴子吃桃问题：前一项为后一项加一个后的2倍；


# 2. 请写出列表支持的所有方法及说明（例如: append 向列表末尾添加元素）
#
# len:查询列表长度，效率高
#   时间复杂度O(1)
# append：尾部就地追加一个元素
#   不改变列表成员顺序，时间复杂度O(1)，性能好。
#   但随着列表规模扩大，可能需要扩容，扩容又可能触发垃圾回收机制，因此不建议高频使用append
# extend：尾部连续就地追加一个可迭代对象内的所有元素
#   相当于反复使用append方法
# insert：就地在某个索引值前方插入一个元素
#   查询索引很快，但所有在索引号之后的元素都要向后挪动位置，插入的位置越靠前，代价越大。
#   时间复杂度O(n)，性能差
#   如果索引超右界，则相当于append，
# remove:就地删除某一索引值
#   需要遍历到索引值，如果到末尾，则代价大
#   时间复杂度O(n)，性能差
# index：找与输入值相等的元素值的索引号
#   时间复杂度O(n)，需要遍历，性能差，未匹配到会报错
# count：找与输入值相等的元素值的个数
#   时间复杂度O(n)，需要遍历全部，性能差
# pop:就地删除某一索引值，并将其弹出，可供使用
#   时间复杂度O(n)，性能差
# reverse:列表内容就地反转
#   时间复杂度O(n)，效率低，可以反向打印代替
# sort:默认从小到大排序，不符合数字类型会报错，否则需要设置key
#   时间复杂度O(n)，效率低，遍历
# copy:列表浅拷贝
# clear:清除列表内容，性能高，慎用
#


#3. 实现一个简易的计算器，效果如下：

# 运行后提示让用户输入一个数字
#    1. 提示输入操作符（+ - * /）
#    2. 再次提示输入一个数字
#    3. 打印计算结果
#    4. 在不退出程序的前提下，可以允许用户继续输入新一组数据计算


option={
    '+':lambda x,y:x+y,
    '-':lambda x,y:x-y,
    '*':lambda x,y:x*y,
    '/':lambda x,y:x/y,
}


while True:

    num1 = int(input('输入数字1：'))
    flag=input('输入操作符（+ - * /）：')
    num2=int(input('输入数字2：'))
    print(option[flag](num1,num2))






